#pragma once
#define _USE_DOUBLE_
#include "ARToolKitPlus/TrackerSingleMarker.h"
#include <cv.h>


class Processing
{
public:
	static Processing* create(int w,int h);
	void process(IplImage* _image);
	double* getGLProjectionMatrix() const;
	double* getGLModelViewMatrix() const;

	~Processing();
protected:
private:
	Processing(){_artkptracker = NULL;}
	bool initArtkplus(int widthImage,int heightImage );
	bool tryArtkp(const unsigned char* image,float widthMarker);
	
	ARToolKitPlus::TrackerSingleMarker *_artkptracker;
	double _last_glModelView[16];//local position
	int _numMarkers;
};

